package com.cmii.sjw.department.control.jsc.model.dto;

import com.cmii.sjw.department.control.jsc.model.entity.CockpitMetricsTree;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @Author jfh
 * @Date 2025-04-24 周四 16:20
 * @Version 1.0
 */
@Data
public class MetricsTreeDTO{

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 父节点ID
     */
    private Long parentId;

    /**
     * 节点层级
     */
    private Integer level;

    /**
     * 业务类型：体征指标、KPI指标、多跨事件
     */
    private String businessType;

    /**
     * 指标类型：板块、子版块、指标
     */
    private String indicatorType;

    /**
     * 数据类型（1填报 2链接）
     */
    private String dataType;

    /**
     * 指标名称
     */
    private String indicator;

    /**
     * 指标值
     */
    private String currentValue;

    /**
     * 目标值
     */
    private String targetValue;

    /**
     * 考核周期开始时间
     */
    private String cycleEnd;

    /**
     * 单位
     */
    private String unit;

    /**
     * 预警标识：0-正常，1-预警
     */
    private String isAlertIndicator;

    /**
     * 数据来源部门
     */
    private String sourceDepartment;

    /**
     * 状态（0审批驳回 1保存 2提交审批 3审批通过）
     */
    private String status;

    /**
     * 描述
     */
    private String description;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;

    /**
     * 更新人
     */
    private String updatedBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updatedAt;

    /**
     * 树路径
     */
    private String treePath;


    //编辑修改的暂存信息

    /**
     * 暂存指标名称
     */
    private String newIndicator;
    private Long newIndicatorId;

    /**
     * 暂存指标值
     */
    private String newCurrentValue;
    private Long newCurrentValueId;

    /**
     * 暂存目标值
     */
    private String newTargetValue;
    private Long newTargetValueId;

    /**
     * 暂存是否预警指标
     */
    private String newIsAlertIndicator;
    private Long newIsAlertIndicatorId;

    /**
     * 暂存数据类型（1填报 2链接）
     */
    private String newDataType;
    private Long newDataTypeId;


}
